package be.ipl.finito.daoimpl;

import java.util.List;

import javax.ejb.Stateless;

import be.ipl.finito.dao.PlateauDao;
import be.ipl.finito.domaine.Joueur;
import be.ipl.finito.domaine.Plateau;

@SuppressWarnings("serial")
@Stateless
public class PlateauDaoImpl extends DaoImpl<Integer, Plateau> implements
		PlateauDao {

	@Override
	public List<Plateau> lister(String nomPartie) {
		String queryString = "SELECT pl FROM Plateau pl, IN(pl.partie) pa WHERE pa.nom = ?1";
		return liste(queryString, nomPartie);
	}

	@Override
	public Plateau trouverPlateauJoueurPartie(Joueur joueur, String nomPartie) {
		String queryString = "SELECT pl FROM Plateau pl, IN(pl.partie) pa, IN(pl.joueur) j WHERE pa.nom=?1 AND j.login=?2";
		return recherche(queryString, nomPartie, joueur.getLogin());
	}

	@Override
	public List<Plateau> trouverPlateauxJoueur(Joueur joueur) {
		String queryString = "SELECT pl FROM Plateau pl, IN(pl.joueur) j WHERE j.login=?1";
		return liste(queryString, joueur.getLogin());
	}
}
